Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eio_linux: expose more functions in the Low_level module #705

Merged
merged 2 commits into from
Feb 29, 2024

Conversation

talex5
Copy link
Collaborator

@talex5 talex5 commented Feb 26, 2024

Add all the functions used by other parts of eio_linux (openat, mkdir, read_link, unlink, rename and pipe).

Tidied the API up a bit too:

  • mkdir_beneath is now just mkdir.
  • statx_confined is now just statx and works with empty paths too.
  • open_dir is gone; the single user now calls openat directly.

The first commit adds the new functions to eio_linux.mli (to make the diff easier to see), then the second commit moves the whole module signature to low_level.mli (this ensures that the low-level API provided to users is the same one that is used internally, so we can't forget to expose things in future).

@talex5 talex5 added the enhancement New feature or request label Feb 26, 2024
Add all the functions used by other parts of eio_linux (`openat`,
`mkdir`, `read_link`, `unlink`, `rename` and `pipe`).

Tidied the API up a bit too:
- `mkdir_beneath` is now just `mkdir`.
- `statx_confined` is now just `statx`.
- `open_dir` is gone; the single user now calls `openat` directly.
This ensures that the low-level API provided to users is the same one
that is used internally, so we can't forget to expose things in future.
@talex5 talex5 merged commit 5e66181 into ocaml-multicore:main Feb 29, 2024
4 of 5 checks passed
@talex5 talex5 deleted the linux-ll branch February 29, 2024 16:19
talex5 added a commit to talex5/opam-repository that referenced this pull request Mar 10, 2024
CHANGES:

New features:

- Add `Eio_unix.Cap` module to enable Capsicum mode (@talex5 ocaml-multicore/eio#697, reviewed by @SGrondin).

- eio_linux: expose more functions in the `Low_level` module (@talex5 ocaml-multicore/eio#705, reviewed by @SGrondin).
  Add all the functions used by other parts of eio_linux (`openat`, `mkdir`, `read_link`, `unlink`, `rename` and `pipe`).
  Tidied the API up a bit too:
  - `mkdir_beneath` is now just `mkdir`.
  - `statx_confined` is now just `statx`.
  - `open_dir` is gone; the single user now calls `openat` directly.

Documentation:

- Add README documentation for `Eio.Executor_pool` (@SGrondin @talex5 ocaml-multicore/eio#707, reviewed by @Sudha247).

- eio_linux: remove logging (@talex5 ocaml-multicore/eio#708, requested by @clecat).
  There were only two remaining uses of Logs, neither of which has proved useful.

Build:

- Add upper-bound on MDX (@talex5 ocaml-multicore/eio#706).
  The new version attempts to execute included blocks.

- Fix tests to pass with both old and new Kcas (@polytypic ocaml-multicore/eio#704).

- Make posix `open_beneath` test idempotent (@SGrondin ocaml-multicore/eio#703).

- Executor_pool: mention requested weight in error message (@talex5 ocaml-multicore/eio#702, reported by @yawaramin).
talex5 added a commit to talex5/opam-repository that referenced this pull request Mar 10, 2024
CHANGES:

New features:

- Add `Eio_unix.Cap` module to enable Capsicum mode (@talex5 ocaml-multicore/eio#697, reviewed by @SGrondin).

- eio_linux: expose more functions in the `Low_level` module (@talex5 ocaml-multicore/eio#705, reviewed by @SGrondin).
  Add all the functions used by other parts of eio_linux (`openat`, `mkdir`, `read_link`, `unlink`, `rename` and `pipe`).
  Tidied the API up a bit too:
  - `mkdir_beneath` is now just `mkdir`.
  - `statx_confined` is now just `statx`.
  - `open_dir` is gone; the single user now calls `openat` directly.

Documentation:

- Add README documentation for `Eio.Executor_pool` (@SGrondin @talex5 ocaml-multicore/eio#707, reviewed by @Sudha247).

- eio_linux: remove logging (@talex5 ocaml-multicore/eio#708, requested by @clecat).
  There were only two remaining uses of Logs, neither of which has proved useful.

Build:

- Add upper-bound on MDX (@talex5 ocaml-multicore/eio#706).
  The new version attempts to execute included blocks.

- Fix tests to pass with both old and new Kcas (@polytypic ocaml-multicore/eio#704).

- Make posix `open_beneath` test idempotent (@SGrondin ocaml-multicore/eio#703).

- Executor_pool: mention requested weight in error message (@talex5 ocaml-multicore/eio#702, reported by @yawaramin).
talex5 added a commit to talex5/opam-repository that referenced this pull request Mar 10, 2024
CHANGES:

New features:

- Add `Eio_unix.Cap` module to enable Capsicum mode (@talex5 ocaml-multicore/eio#697, reviewed by @SGrondin).

- eio_linux: expose more functions in the `Low_level` module (@talex5 ocaml-multicore/eio#705, reviewed by @SGrondin).
  Add all the functions used by other parts of eio_linux (`openat`, `mkdir`, `read_link`, `unlink`, `rename` and `pipe`).
  Tidied the API up a bit too:
  - `mkdir_beneath` is now just `mkdir`.
  - `statx_confined` is now just `statx`.
  - `open_dir` is gone; the single user now calls `openat` directly.

Documentation:

- Add README documentation for `Eio.Executor_pool` (@SGrondin @talex5 ocaml-multicore/eio#707, reviewed by @Sudha247).

- eio_linux: remove logging (@talex5 ocaml-multicore/eio#708, requested by @clecat).
  There were only two remaining uses of Logs, neither of which has proved useful.

Build:

- Add upper-bound on MDX (@talex5 ocaml-multicore/eio#706).
  The new version attempts to execute included blocks.

- Fix tests to pass with both old and new Kcas (@polytypic ocaml-multicore/eio#704).

- Make posix `open_beneath` test idempotent (@SGrondin ocaml-multicore/eio#703).

- Executor_pool: mention requested weight in error message (@talex5 ocaml-multicore/eio#702, reported by @yawaramin).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants